/**
 * 调试模式 Store
 */

import { defineStore } from 'pinia';
import { ref } from 'vue';

export const useDebugModeStore = defineStore('debugMode', () => {
  // 调试模式开关状态
  const getInitialState = () => {
    // 从localStorage读取保存的状态，默认为false
    const saved = localStorage.getItem('debug-mode');
    return saved ? JSON.parse(saved) : false;
  };

  const isDebugMode = ref<boolean>(getInitialState());

  /**
   * 切换调试模式
   */
  const toggleDebugMode = () => {
    isDebugMode.value = !isDebugMode.value;
    // 保存到localStorage
    localStorage.setItem('debug-mode', JSON.stringify(isDebugMode.value));
  };

  /**
   * 设置调试模式
   */
  const setDebugMode = (enabled: boolean) => {
    isDebugMode.value = enabled;
    localStorage.setItem('debug-mode', JSON.stringify(enabled));
  };

  return {
    isDebugMode,
    toggleDebugMode,
    setDebugMode
  };
});
